package com.microtf.inscription.framework.controller;

import com.microtf.inscription.metaweblog.MetaWebLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * MetaWebLog对外接口控制器
 *
 * @author guliuzhong
 * @version 1.0
 * @since 1.0
 */
public class MetaWebLogController {
    MetaWebLogService webLogService;

    @Autowired
    public void setWebLogService(MetaWebLogService webLogService) {
        this.webLogService = webLogService;
    }

    /**
     * MetaWebLog服务入品
     *
     * @param request  request请求对象
     * @param response response返回对象
     * @return 空字符串 不返回，所有内容均通过内置操作response对象完成。
     * @throws IOException 读取request数据流为xml出错时异常。
     */
    @ResponseBody
    public String xmlRpcServer(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("application/xml");
        webLogService.invoke(request.getInputStream(), response.getOutputStream());
        return "";
    }

    /**
     * 生成rsd文件
     *
     * @return rsd内容
     */
    @ResponseBody
    public String xmlRpcServer() {
        return webLogService.getRsd();
    }
}
